package br.gov.sjc.socialalimenta.adapter;

import java.util.List;

import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import br.gov.sjc.socialalimenta.R.layout;
import br.gov.sjc.socialalimenta.R.trabalho;
import br.gov.sjc.socialalimenta.TrabalhoOFR;

public class TrabalhoOFRAdapter extends BaseAdapter  {
    private Context context;
    private String TAG = "TrabalhoOFRAdapter";
    private List<TrabalhoOFR> lstTrabalhoOFR;
    private LayoutInflater inflater;
    
    public TrabalhoOFRAdapter(Context context, List<TrabalhoOFR> listTrabalhoOFR) {
        this.context = context;
        this.lstTrabalhoOFR = listTrabalhoOFR;
        inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }
    //Atualizar ListView de acordo com o lstContato
    @Override
    public void notifyDataSetChanged() {   
        try{
            super.notifyDataSetChanged();
        }catch (Exception e) {
            Log.e(TAG.toString(),"notifyDataSetChanged Erro : " + e.getMessage());
        }
    } 
    public int getCount() {
        return lstTrabalhoOFR.size();
    }
 
    //Remover item da lista
    public void remove(final TrabalhoOFR item) {
        this.lstTrabalhoOFR.remove(item);
    } 
     
    //Adicionar item na lista
    public void add(final TrabalhoOFR item) {
        this.lstTrabalhoOFR.add(item);
    }    
     
    public Object getItem(int position) {
        return lstTrabalhoOFR.get(position);
    }
 
    public long getItemId(int position) {
        return position;
    }
    public View getView(int position, View convertView, ViewGroup viewGroup) {
        try
        {
             
        	TrabalhoOFR trabalhoofr = lstTrabalhoOFR.get(position);
 
            //O ViewHolder irá guardar a instâncias dos objetos do estado_row
            ViewHolder holder;
             
            //Quando o objeto convertView não for nulo nós não precisaremos inflar
            //os objetos do XML, ele será nulo quando for a primeira vez que for carregado
            if (convertView == null) {
                convertView = inflater.inflate(layout.outrasfontestw, null);
                 
                //Cria o Viewholder e guarda a instância dos objetos
                holder = new ViewHolder();
                holder.spOFRRendaCompRenda = (TextView) convertView.findViewById(trabalho.lblComprovante);
                holder.spOFRRendaFonte = (TextView) convertView.findViewById(trabalho.lblFonte);
                holder.tbOFRRendaValor = (TextView) convertView.findViewById(trabalho.lblValor);
                 
                convertView.setTag(holder);
            } else {
                //pega o ViewHolder para ter um acesso rápido aos objetos do XML
                //ele sempre passará por aqui quando,por exemplo, for efetuado uma rolagem na tela 
                holder = (ViewHolder) convertView.getTag();
            }

            // * COLOCA DADOS NA LISTVIEW
            holder.spOFRRendaCompRenda.setText(trabalhoofr.getComprovante());
            holder.spOFRRendaFonte.setText(trabalhoofr.getFonte());
            holder.tbOFRRendaValor.setText(trabalhoofr.getValor());
 
            return convertView;            
             
        }catch (Exception e) {
            Log.e(TAG.toString(),"getView - Erro : " + e.getMessage());
        }
        return convertView;
    }
    //Criada esta classe estática para guardar a referência dos objetos abaixo
    static class ViewHolder {
        public TextView spOFRRendaCompRenda;
        public TextView spOFRRendaFonte;
        public TextView tbOFRRendaValor;
    }  
}
